package cn.fws.meap.user.service.impl;

import java.util.List;

import cn.fws.meap.community.enums.ArticleTypeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.fws.framework.utils.ConvertUtils;
import cn.fws.framework.utils.UUIDUtils;
import cn.fws.meap.user.mapper.BrowseMapper;
import cn.fws.meap.user.entity.Browse;
import cn.fws.meap.user.service.IBrowseService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 浏览记录 服务层实现
 * 
 * @author chenkh
 * @date 2019-03-07
 */
@Service
@Transactional
public class BrowseServiceImpl implements IBrowseService {

	@Autowired
	private BrowseMapper browseMapper;

	/**
     * 查询浏览记录信息
     * 
     * @param id 浏览记录ID
     * @return 浏览记录信息
     */
    @Override
	public Browse selectById(String id) {
	    return browseMapper.selectById(id);
	}
	
	/**
     * 查询浏览记录列表
     * 
     * @param browse 浏览记录信息
     * @return 浏览记录集合
     */
	@Override
	public List<Browse> selectList(Browse browse)	{
	    return browseMapper.selectList(browse);
	}
	
    /**
     * 新增浏览记录
     * 
     * @param articleId,articleType,AuthorId,openId 浏览记录信息
     * @return 结果
     */
	@Override
	public int insert(String articleId, String articleType, String AuthorId, String openId) {
		Browse browse = new Browse();
		//文章id
		browse.setArticleId(articleId);
		//文章类型
		browse.setArticleType(articleType);
		//作者id
		browse.setAuthorId(AuthorId);
		//浏览的用户id
		browse.setOpenid(openId);
		// 设置主键
		browse.setId(UUIDUtils.getUUID());
		// 设置创建时间
		browse.setCreateTime(new java.util.Date());
	    return browseMapper.insert(browse);
	}
	
	/**
     * 修改浏览记录
     * 
     * @param browse 浏览记录信息
     * @return 结果
     */
	@Override
	public int update(Browse browse) {
		// 设置修改时间
		browse.setUpdateTime(new java.util.Date());
	    return browseMapper.update(browse);
	}

	/**
     * 删除浏览记录对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteByIds(String ids) {
		return browseMapper.deleteByIds(ConvertUtils.toStrArray(ids));
	}

	/**
	 * 查询当前用户有没有浏览过这篇文章
	 * @param articleId
	 * @param openId
	 * @return Boolean
	 */
	@Override
	public Boolean selectByArticleIdAndOpenid(String articleId, String openId) {

		return browseMapper.selectByArticleIdAndOpenid(articleId,openId);
	}

}
